package com.wgy.day30.File类.File类中创建删除功能的方法;
/*
File类的常用方法 之创建删除功能方法:
public boolean createNewFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件
                                创建文件的路径和名称在构造方法中给出(构造方法的参数)
                                返回值:Boolean布尔值
                                true:文件不存在,创建文件,返回true
                                false:文件存在,不会创建,返回false
                          注意: 1.此方法只能创建文件,不能创建文件夹
                               2.创建文件的路径必须真实存在,否则会抛出异常
                               3.此方法声明抛出了IOException异常,我们调用这个方法,就必须处理这个方法,
                                 要么throws,要么try...catch

public boolean delete():删除由此File表示的文件或目录
                          返回值:Boolean布尔值
                                true:文件/文件夹删除成功,返回true
                                false:1.构造方法中的文件/文件夹不存在,无法删除,返回false
                                      2.文件中有内容,不会删除,返回false

                           注意:delete方法是直接在硬盘下删除文件/文件夹的,不走回收站,删除要谨慎

public boolean mkdir():创建由此File表示的目录 只能创建单级空文件夹
                       返回值:Boolean布尔值
                                true:文件夹不存在,创建文件夹,返回true
                                false:文件夹已存在,不会创建,返回false
                        注意:   1.此方法只能创建文件夹,不能创建文件
                               2.如果构造方法中给出的路径不存在,不会抛出异常,只会返回false

public boolean mkdirs():创建由此File表示的目录,包括任何必需但不存在的父目录.既可以创建单级空文件夹,又可以创建多级文件夹
                        返回值:Boolean布尔值
                                true:文件夹不存在,创建文件夹,返回true
                                false:文件夹已存在,不会创建,返回false
                         注意:  1.此方法只能创建文件夹,不能创建文件
                               2.创建文件夹的路径如果是真实存在的,就会按照指定的路径生成对应的多级文件夹
                               3.如果构造方法中给出的路径不存在,不会抛出异常,只会返回false

 */

import java.io.File;
import java.io.IOException;

public class Demo05File {
    public static void main(String[] args) throws IOException {
        show04();

    }
    public static void show01() throws IOException {
        File f1=new File("D:\\小云\\学习\\素材\\头像\\1.jpg");
        boolean b1 = f1.createNewFile();
        System.out.println(b1); //false 因为这个文件已经存在了所以不能再创建同路径文件

        File f2=new File("D:\\小云\\学习\\素材\\头像\\1.txt");
        boolean b2 = f2.createNewFile();
        System.out.println(b2); //true  因为这个文件不存在了所以可以创建对应路径的文件

        File f3=new File("D:\\小云\\学习\\素材\\头像\\新建文件夹");
        boolean b3 = f3.createNewFile();
        System.out.println(b3); //true  即使名称是文件夹,但是创建的依然是以文件的形式生成在对应的路径下的.不要被名称迷惑,要看类型

 /*
        File f4=new File("D:\\小云\\学习\\素材\\头\\1.txt");
        boolean b4 = f4.createNewFile();
        System.out.println(b4);   //IOException: 系统找不到指定的路径。
 */
    }
    public static void show02(){
        File f1=new File("D:\\小云\\学习\\素材\\头像");//已经存在的路径
        boolean b1 = f1.mkdir();
        System.out.println(b1);//false

        File f2=new File("D:\\小云\\学习\\素材\\头像\\动漫风");//新建的路径
        boolean b2 = f2.mkdir();
        System.out.println(b2);//true

        File f3=new File("D:\\小云\\学习\\素材\\头\\动漫风");//根本不存在的路径
        boolean b3 = f3.mkdir();
        System.out.println(b3);//false

        File f4=new File("D:\\小云\\学习\\素材\\头像\\动漫风\\11\\22\\33");//已经存在的路径下创建多级文件夹
        boolean b4 = f4.mkdir();
        System.out.println(b4);//false 无法创建多级文件夹(目录)
    }
    public static void show03(){
        File f2=new File("D:\\小云\\学习\\素材\\头像\\动漫风");//已经存在的路径
        boolean b2 = f2.mkdirs();
        System.out.println(b2);//false

        File f3=new File("D:\\小云\\学习\\素材\\头像\\动漫风\\11\\22\\33");//已经存在的路径后面接着创建多级文件夹
        boolean b3 = f3.mkdirs();
        System.out.println(b3);//true  再原始路径下创建了一个多级文件夹

        File f4=new File("D:\\小云\\学习\\素材\\头\\清新风\\11\\22\\33");//已经存在的路径中间创建多级文件夹
        boolean b4 = f4.mkdirs();
        System.out.println(b4);//true  在素材下重新创建了一个多级文件夹

        File f1=new File("L:\\小云\\学习\\素材\\头\\清新风\\11\\22\\33");//根本不存在的路径
        boolean b1 = f1.mkdirs();
        System.out.println(b1);//false  不会创建文件夹
    }

    public static void show04(){
        File f1=new File("L:\\小云\\学习\\素材\\头\\清新风\\11\\22\\33");//根本不存在的路径
        boolean b1 = f1.delete();
        System.out.println(b1);//false

        File f3=new File("D:\\小云\\学习\\素材\\头像\\动漫风\\11\\22\\33");//已经存在的路径后面接着创建多级文件夹
        boolean b3 = f3.mkdirs();
        System.out.println(b3);//true  删除了刚创建的多级文件夹

        File f4=new File("D:\\小云\\学习\\素材\\头\\清新风\\11\\22\\33");//已经存在的路径删除文件夹
        boolean b4 = f4.delete();
        System.out.println(b4);//true  删除了刚创建的多级文件夹

        //这里有问题和视频讲解的有出入 ,尽管返回的是true 但是文件夹依然存在,没有被删除


    }
}
